#ifndef __MAAJANTILE_H__
#define __MAAJANTILE_H__


class maajanTile {
	private:
		char value;
		char set;
		int index;
		bool aka;
		
	public:
		maajanTile(char val, char s, int i);
		int getValue();
		int getSet();
		int getIndex();
		bool isAka();
		
		~maajanTile();
		
};


//	{total order for maajanTile}
	
	bool operator < (const maajanTile &lhs, const maajanTile &rhs) {
		return (lhs.set < rhs.set || (lhs.set == rhs.set && lhs.value < rhs.value) || (lhs.set == rhs.set && lhs.value == rhs.value && lhs.index < rhs.index));
		
	}
	
	bool operator > (const maajanTile &lhs, const maajanTile &rhs) {
		return (lhs.set > rhs.set || (lhs.set == rhs.set && lhs.value > rhs.value));
		
	}
	
	bool operator == (const maajanTile &lhs, const maajanTile &rhs) {
		return (lhs.set == rhs.set && lhs.value == rhs.value && lhs.index == rhs.index);
		
	}

	bool operator != (const maajanTile &lhs, const maajanTile &rhs) {
		return !(lhs == rhs);
		
	}
	
	bool operator <= (const maajanTile &lhs, const maajanTile &rhs) {
		return !(lhs > rhs);
		
	}
	
	bool operator >= (const maajanTile &lhs, const maajanTile &rhs) {
		return !(lhs < rhs);
		
	}

#endif